{ "cells": [ { "cell_type": "markdown", "id": "5fa38a35", "metadata": {}, "source": [ "# 수의 정확도, 오차\n", "**강좌**: *수치해석*" ] }, { "cell_type": "markdown", "id": "d39fb010", "metadata": {}, "source": [ "## 유효 숫자\n", "\n", "과학 계산에서 수치는 실수 체계로 정의할 수 있다.\n", "\n", ":::{figure-md} Real Number\n", "\"number-fig\"\n", "\n", "실수 체계 (From wikimedia.org)\n", ":::" ] }, { "cell_type": "markdown", "id": "d66dd18e", "metadata": {}, "source": [ "매우 긴 숫자를 다루는 것은 현실적으로 어려우며, `유효 숫자` 로 계산한다. 예를 들어 $\\pi$ 는 다음과 같은 4자리 유효 숫자로 표현할 수 있다." ] }, { "cell_type": "code", "execution_count": 1, "id": "62e1f208", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(3.142)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "# 4 자리 유효숫자\n", "np.round(np.pi, decimals=3)" ] }, { "cell_type": "markdown", "id": "521353c2", "metadata": {}, "source": [ "실수를 표현하는 방식으로는 `Decimal Notataion` 과 `Scientific Notation` 이 있다." ] }, { "cell_type": "code", "execution_count": 2, "id": "e20ab70d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Decimal notation of $\\pi$: 3.142\n", "Scientific notation of $\\pi$: 3.141593e+00\n" ] } ], "source": [ "# Decimal notation\n", "print(r\"Decimal notation of $\\pi$: {:.3f}\".format(np.pi))\n", "\n", "# Scientific notataion\n", "print(r\"Scientific notation of $\\pi$: {:e}\".format(np.pi))" ] }, { "cell_type": "markdown", "id": "dfddefb5", "metadata": {}, "source": [ ":::{note}\n", "컴퓨터도 모든 유효숫자를 저장할 수 없다.\n", "::: " ] }, { "cell_type": "markdown", "id": "3af773c2", "metadata": {}, "source": [ "## 오차\n", "컴퓨터 계산 과정에서 2가지 오차가 존재한다.\n", "\n", "- Round-off Erorr: 숫자 표기 한계로 반올림에 의한 오차\n", "- Truncation Error: 계산 과정에서 절단애 의한 오차\n", "\n", "즉 수치해석 결과는 엄밀해는 다음 관계를 갖는다.\n", "\n", "$$\n", " Exact = Approximation + \\epsilon\n", "$$\n", "\n", "### 오차의 표현\n", "다음 수치 실험 값을 비교해보자.\n", "\n", "| | $C_l$ | $C_d$ |\n", "|-------|--------|--------|\n", "| 실험 | 0.3501 | 0.0223 |\n", "| 계산 | 0.3470 | 0.0201 |\n", "\n", "$C_l$ 과 $C_d$에 대한 오차를 계산해보면 다음과 같다.\n", "\n", "| | $C_l$ | $C_d$ |\n", "|-------|--------|--------|\n", "| $\\epsilon$ | 0.0031 | 0.0022 |\n", "\n", "(절대) 오차 $\\epsilon$ 만 비교해보면 $C_d$ 의 정확도가 더 높은 것 같다.\n", "\n", "그러나 수치 크기에 대한 오차가 없으므로 다음과 같은 상대 오차를 정의한다.\n", "\n", "$$\n", "\\begin{align}\n", "\\epsilon_t &= \\frac{Error}{Exact}\\\\\n", "\\epsilon_a &= \\frac{Error (approx)}{Approx}\\\\\n", "\\end{align}\n", "$$\n", "\n", "참값을 아는 경우 참 상대오차 $\\epsilon_t$를 사용할 수 있다. \n", "\n", "위 예제에서 상대오차는 다음과 같다.\n", "\n", "| | $C_l$ | $C_d$ |\n", "|-------|--------|--------|\n", "| $\\epsilon_t$ | 0.89% | 9.9% |\n", "\n", "즉, $C_l$의 상대오차가 더 작다.\n", "\n", "다만 실제의 경우 참값을 모르는 경우가 많으므로 근사값을 기준으로 한 $\\epsilon_a$를 사용한다." ] }, { "cell_type": "markdown", "id": "ee1935c6", "metadata": {}, "source": [ "#### $e^x$ 근사 계산 예제\n", "Taylor expansion (Maclaurin expansion)을 사용하면 $e^x$ 는 다음과 같이 근사할 수 있다.\n", "\n", "$$\n", "e^x = 1 + x + \\frac{x^2}{2} + \\frac{x^3}{3!} +... + \\frac{x^n}{n!} + ...\n", "$$\n", "\n", "$|x| < 1$ 인 경우, 이전 항이 그 다음항보다 크다. n번째 항 까지만 계산할 경우 오차의 크기는 다음과 같다.\n", "\n", "$$\n", "\\epsilon = \\frac{x^{n+1}}{n+1!} + \\frac{x^{n+2}}{n+2!} + ... \\approx C x^{n+1}\n", "$$\n", "\n", "두번째항 까지만 근사하면 아래와 같다.\n", "\n", "$$\n", "e^x \\approx 1 + x\n", "$$\n", "\n", "$x=0.5$ 에 대해 절대오차는 다음과 같다.\n", "\n", "$$\n", "\\epsilon = e^{0.5} - (1+0.5) = 0.14872\n", "$$" ] }, { "cell_type": "code", "execution_count": 3, "id": "38230c88", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(1.6487212707001282)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.exp(0.5) " ] }, { "cell_type": "code", "execution_count": 4, "id": "80c1fce6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.1487212707001282)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.exp(0.5) - (1.5)" ] }, { "cell_type": "markdown", "id": "6b8e7970", "metadata": {}, "source": [ "상대 오차는 다음과 같다.\n", "\n", "$$\n", "\\epsilon_t = \\frac{e^{0.5} - 1.5}{e^{0.5}}\n", "$$" ] }, { "cell_type": "code", "execution_count": 5, "id": "994d7650", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(9.02040104310499)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(np.exp(0.5) - (1.5)) / np.exp(0.5)*100" ] }, { "cell_type": "markdown", "id": "fed1ed65", "metadata": {}, "source": [ "참값 $e^{0.5}$를 모르는 경우 이전 근사값 (첫번째 항만 근사)와 현재 근사값간의 차이를 근사 오차 Error (appox) 로 해서 상대오차를 계산한다.\n", "\n", "$$\n", "\\epsilon_a = \\frac{1.5 - 1}{1.5}\n", "$$" ] }, { "cell_type": "code", "execution_count": 6, "id": "587609a2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "33.33333333333333" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(1.5 - 1) / (1.5)*100" ] }, { "cell_type": "code", "execution_count": 9, "id": "a8d41bca", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1, 2, 3]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(range(1, 4))" ] }, { "cell_type": "markdown", "id": "e1bc78f6", "metadata": {}, "source": [ "근사식의 항을 늘리면서 두 상대오차를 계산하면 다음과 같다." ] }, { "cell_type": "code", "execution_count": 10, "id": "cc1b8aee", "metadata": {}, "outputs": [], "source": [ "def factorial(n):\n", " \"\"\" Factorial 계산\n", " Parameters\n", " ----------\n", " n : integer\n", " n\n", " \"\"\"\n", " fac = 1\n", " for i in range(1, n+1):\n", " fac *= i\n", " \n", " return fac\n", "\n", "\n", "def approx_exp(n, x):\n", " \"\"\" Exponential 함수 근사\n", " Parameters\n", " n : integer\n", " 항의 계수\n", " x : float\n", " 값\n", " \"\"\" \n", " exp = 0\n", " for i in range(n):\n", " exp += 1/factorial(i)*x**i\n", " \n", " ## Pythoniac\n", " # exp = sum([factorial(i)*x**i for i in range(n)])\n", " return exp" ] }, { "cell_type": "code", "execution_count": 11, "id": "3240eb1f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(9.02040104310499)" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def epsilon_t(n, x):\n", " \"\"\"참 상대오차 계산\n", " Parameters\n", " ----------\n", " n : integer\n", " 항의 계수\n", " x : float\n", " 값\n", " \"\"\"\n", " # Exact\n", " exact = np.exp(x)\n", " \n", " # Approx\n", " approx = approx_exp(n, x)\n", " \n", " return (exact - approx)/exact*100\n", "\n", "\n", "epsilon_t(2, 0.5)" ] }, { "cell_type": "code", "execution_count": 12, "id": "29dcb2c7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "33.33333333333333" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def epsilon_a(n, x):\n", " \"\"\"근사 상대오차 계산\n", " Parameters\n", " ----------\n", " n : integer\n", " 항의 계수\n", " x : float\n", " 값\n", " \"\"\"\n", " # n번째와 n-1번째 항까지 근사값\n", " approx_n = approx_exp(n, x)\n", " approx_n1 = approx_exp(n-1, x)\n", " \n", " return (approx_n - approx_n1) / approx_n*100\n", "\n", "epsilon_a(2, 0.5)" ] }, { "cell_type": "markdown", "id": "bae1f088", "metadata": {}, "source": [ ":::{note}\n", "Docstring (문서화)는 매우 중요하다. 규칙을 사용할 필요가 있다. 이 강의에서는 [Numpydoc](https://numpydoc.readthedocs.io/en/latest/format.html#) 를 따른다.\n", "::: " ] }, { "cell_type": "code", "execution_count": 14, "id": "4ead11c0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "terms 2, $\\epsilon_t$ : 9.020e+00, $\\epsilon_a$ : 3.333e+01\n", "terms 3, $\\epsilon_t$ : 1.439e+00, $\\epsilon_a$ : 7.692e+00\n", "terms 4, $\\epsilon_t$ : 1.752e-01, $\\epsilon_a$ : 1.266e+00\n", "terms 5, $\\epsilon_t$ : 1.721e-02, $\\epsilon_a$ : 1.580e-01\n", "terms 6, $\\epsilon_t$ : 1.416e-03, $\\epsilon_a$ : 1.580e-02\n", "terms 7, $\\epsilon_t$ : 1.002e-04, $\\epsilon_a$ : 1.316e-03\n", "terms 8, $\\epsilon_t$ : 6.220e-06, $\\epsilon_a$ : 9.402e-05\n", "terms 9, $\\epsilon_t$ : 3.435e-07, $\\epsilon_a$ : 5.876e-06\n" ] } ], "source": [ "x = 0.5\n", "err_t = []\n", "err_a = []\n", "\n", "for n in range(2, 10):\n", " err_tn = epsilon_t(n, x)\n", " err_an = epsilon_a(n, x)\n", " print(r\"terms {}, $\\epsilon_t$ : {:.3e}, $\\epsilon_a$ : {:.3e}\".format(n, err_tn, err_an))\n", " err_t.append(err_tn)\n", " err_a.append(err_an)" ] }, { "cell_type": "code", "execution_count": 16, "id": "5dbde361", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "<>:12: SyntaxWarning: invalid escape sequence '\\e'\n", "<>:12: SyntaxWarning: invalid escape sequence '\\e'\n", "/tmp/ipykernel_337/352168988.py:12: SyntaxWarning: invalid escape sequence '\\e'\n", " plt.legend([r\"$\\epsilon_t$\", \"$\\epsilon_a$\"])\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2YAAAKLCAYAAACdeJsWAAAAQHRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjErZGZzZzEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvzRIYmAAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAA0RpJREFUeJzs3XlcVFX/B/DPucM+7JugiCCKqLnkkrmUVmYqWpaWZT1PVr9s0XJ70jLT1BbLtDTT57HNMm3DbBE1M9NKc993FERUYBh2hmWYuff3xygjhSjKcGf5vF+v/uicmcvXcwT5zvne7xWKoiggIiIiIiIi1UhqB0BEREREROTqmJgRERERERGpjIkZERERERGRypiYERERERERqYyJGRERERERkcqYmBEREREREamMiRkREREREZHKmJgRERERERGpjIkZERERERGRypiYERERERERqYyJGRERERERkcqYmBEREREREamMiRkREREREZHKmJgRERERERGpzE3tAOjqGQwGGAwGAEB4eLjK0RARERERUX1hYuZAkpOTkZSUBE9PTyxbtgwAkJWVBUVRVIspNDQUAKDX61WLwdVxD9TF9Vcf90B93AN1cf3Vxz1Qlz2svxACERER13UNJmYOJDExEX369Kk2piiKqonZpXGQurgH6uL6q497oD7ugbq4/urjHqjL0defiZkD0Wq10Gq1aodBRERERET1jImZA+E9ZkREREREzomJmQOp6R4zIiIiIiJyfEzMHEhN95gREREREZHjY2LmQHiPGRERERGRc2Ji5kB4jxkRERERkXNiYuZAeI8ZEREREQGO3xq+Pl1ci/peEyFEvV7vSpiYORDeY0ZERETkukwmE8rKymA0GpmYXSI/Px8AIMtyvV5XCAEPDw94e3vDzc32aRMTMwfCe8yIiIiIXJPJZEJhYSG8vLwQGBgISZLUDsluXEyaTCZTvV5XlmWUl5ejsLAQAQEBNk/OmJgREREREdm5srIyeHl58UP6GlwsOazv0kONRlO13mVlZfDz86vX6/8dU20HYjAYoNPpoNPp1A6FiIiIiBqQ0WiEl5eX2mG4JE9PTxiNRpt/HZ6YORA2/yAiIiJyPYqiQFEUli+qRKPRVO2BLRuCMDFzIGz+QURERETknJiYORA2/yAiIiIick48DyUiIiIiIlIZEzMiIiIi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jTu2Yo0dhB2/w7lgUogKMxERERERL2eEVsYcOBajw80FjYeTsF4divXrCueCiZsKMxERERGRcsDw88P4xwCMvz0G5okyICsL+71Xsf77GbZlORuwnFNhJiIiIiJSThiGgXljD8xnRkNwwaJydvQXWG9PwM5Idy5cOafCTERERESknDGaX475/GSoXrugcf1qrAn/wj50wLlg5ZgKMxERERGRcsioVhNz+CRo2aagMSE+bzPqmL+cC1ZOaR+zEnbs2DE+//xzfvvtN44dO0ZYWBg9e/akS5cuTkcTERERkXLOCA7BHDACe95M7O/n5TWmpWK9Pgrj3scxO3Z1NmA5osKsBGVkZPDCCy9QpUoVnnnmGSIiIjhy5Ag5OTlORxMRERERAcAwfTDu/idW7XrYn06DnGzIzcX+91tYe+Mw+jyC4auyoaR5zR3euXMnGzZsYPv27cTGxnL48GH8/Pz47LPPzvi6rKwsvv76a1auXElSUhIVKlSgVatW9OnTh/Dw8IvK9M0335CVlcWwYcPwO7GzemRk5EVdU0RERESkJJjtb8CuVgtr+jg4mgKAvXQB9v49mP2GYlQIdTihd/OawmzOnDn89ttv5/WarKwsXn75ZWJiYggLC6NNmzYcOnSIpUuX8scffzB27FiqV69+wZnWrFlDkyZN+PTTT1m7di1BQUG0bt2aPn36EBgYeMHXFREREREpCUb9xpgjJmNNfwXit+c1xmzEemUQ5oCRGLXqORvQi3lNYda4cWOioqJo2LAhDRs25LHHHjvra7766itiYmJo3LgxI0eOdBdL0dHRzJgxg7fffpsxY8a4z09LSyMtLe2M1wwKCqJSpUoAHDhwgAMHDnD11VczdOhQDh8+zIcffkhKSgrPPffcRfxpRURERERKhhEWjvmv8difTsNeuyyvMekg1vh/YT4yEOPyds4G9FJeU5jdcccd53V+Tk4OCxcuBODhhx8u1IPVo0cPli1bxpYtW9i5cycNGjQAYMGCBcyZM+eM1+3YsSNPPvkkALZtU7FiRZ544gl8fHzc7ztlyhQeeughdwEnIiIiIlKWGP4B8MhAqB2F/dUMsG3ITMd6axzGHfdjdLsbwzCcjulVvKYwO19bt27F5XJRrVo16tevf8rxdu3aER8fz2+//eYuzO6++2569ep1xuue/AENCwujatWq7qIMoHbtvL0i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D3kYe9M6B5NdPBVmIiIiIiLiMYzAIMzHh2Lc9jd3m308DWvqGOzfVzqY7OKoMBMREREREY9imCbm7fdh9huKERCY1xheFRq3dDbYRVBhJiIiIiIiHsm48lqqjH8X37oNMAeMxKgY6nSkC6bFP0RERERExGP5NWhM+BszSUpOdjrKRVFh5kFcLhculwtAC4CIiIiIiJxgmJ4/EFCFmQfRPmYiIiIiIt5JhZkH0T5mIiIiIiLeSYWZBwkJCSEkJMTpGCIiIiIiUsw8fzCmiIiIiIiIh1NhJiIiIiIi4jAVZiIiIiIiIg5TYSYiIiIiIuIwFWYiIiIiIiIOU2EmIiIiIiLiMBVmIiIiIiIiDtM+Zh7E5XLhcrkAiIyMdDiNiIiIiIgUFxVmHmT+/PnMmTOHgIAAZs6c6XQcEREREREpJirMPEj37t3p1KmT0zFERERERKSYqTDzICEhIYSEhDgdQ0REREREipkW/xAREREREXGYCjMRERERERGHqTATERERERFxmAozERERERERh6kwExERERERcZhWZfRwhmE4HQEoOznKMz0DZ+n+O0/PwHl6Bs7S/XeenoGznLz/xfHehm3bdjFkERERERERkQukoYwiIiIiIiIOU2EmF2XYsGEMGzbM6Rjlmp6Bs3T/nadn4Dw9A2fp/jtPz8BZ3nL/NcdMLkpWVpbTEco9PQNn6f47T8/AeXoGztL9d56egbO85f6rx0xERERERMRhKsxEREREREQcpsJMRERERETEYSrMREREREREHKZ9zERERERERBymHjMRERERERGHqTATERERERFxmAozERERERERh6kwExERERERcZgKMxEREREREYepMBMREREREXGYCjMRERERERGH+TodQDxLZmYmf/75J7///js7duzg0KFDWJZF9erVadeuHT169CAwMNDpmF4vOjqarVu3snv3bo4ePUp2djaVK1emefPm9OzZkzp16jgdsVxJS0vj2WefJTU1lZo1a/LGG284HcnrjR49ms2bN5/2+PPPP8/ll19eeoHKqSNHjvD111+zbt06kpKS8Pf3JzIykpYtW3L//fc7Hc9rbdq0iTFjxpz1vN69e3P33XeXQqLya9u2bXzzzTfExMSQlpZGYGAg9evXp0uXLrRv397peF5v27ZtfP3118TExJCRkUFERARXX301d955JwEBAU7HO28qzOS8rFixgnfffReAOnXq0KpVK9LT09m2bRuzZ89m5cqVjB49mkqVKjmc1Lt99dVXZGRkUK9ePerWrQvAnj17+Pnnn1m1ahVDhgzhiiuucDhl+fHpp59y7Ngxp2OUS+3atSvyh0FVqlRxIE35sm3bNsaPH4/L5aJ27dq0adOGjIwM9u7dS3R0tAqzElS5cmU6duxY5DHLsli+fDkATZs2Lc1Y5c4vv/zCG2+8gW3bNGzYkBYtWnD48GE2bdrEX3/9Rc+ePfn73//udEyvtXz5cqZPn45lWTRo0ICIiAh27NjBvHnz+P3333nppZcICgpyOuZ5UWEm58XX15cuXbrQvXt3atSo4W4/fPgwEyZMYNeuXXzyySc888wzDqb0fkOGDKFBgwb4+/sXal+0aBEffPAB77zzDm+//TamqdHKJW3jxo0sW7aMm266iR9++MHpOOVO3759iYyMdDpGuZOSksL48ePJzs5m8ODBXHXVVYWOb9++3aFk5UOtWrV48sknizy2bt06li9fTnh4OM2bNy/lZOVHbm4uH374IbZt8+yzz3LNNde4j23bto0xY8bwzTffcOONN1K9enUHk3qn5ORk3nnnHSzL4oknnuCGG24AIDs7mzfffJPVq1fz73//m0cffdThpOdH39rkvHTs2JFHHnmkUFEGEBYWxsMPPwzA2rVrycnJcSJeudG0adNTijKALl26UL16dQ4fPsy+ffscSFa+ZGVl8f7771O7dm1uu+02p+OIlJpZs2bhcrm4//77TynKABo1auRAKgHcvWXXXXedfjhXghISEkhNTaVWrVqFijKAxo0b06pVK2zbZufOnQ4l9G5Lly4lOzubyy67zF2UAfj5+fHII48QEBDAkiVLPG40i/7GSrGpV68ekPfTCk/7i+BN8v9H7OurDvGS9uWXX3Lw4EEeeeQRfHx8nI4jUirS0tL45ZdfCA4OpnPnzk7HkZNkZGTw66+/AnmFmZQcPz+/czqvQoUKJZykfMoveIvqFQ4NDaV27drk5uaybt260o52UfTNTYrNwYMHAfDx8dE/RA5ZtmwZ+/bto0aNGhreVcLi4+OJjo6mU6dONG/enMTERKcjlUtLliwhLS0NwzCoUaMGV111FREREU7H8moxMTFkZ2fTsmVLfH19Wb16NVu3biUnJ4datWpx9dVXU7lyZadjlktr164lMzOT+vXraxGoElatWjWqVatGQkICq1atOmUo459//klkZKSGk5aQzMxM4PSFb357XFwc119/fanlulgqzKTYLFiwAIDLL7/8nH+SJBfnm2++Yc+ePWRmZpKQkMCePXsICwvjmWee0RCWEmRZFu+++y7BwcFa4MBh8+bNK/T7mTNn0qtXL61EV4L27NkDQKVKlXjhhRfYtm1boeOzZs2if//+XH311U7EK9dOHsYoJcs0Tfr378/EiRN54403+Pbbb6lWrRqHDx9m69atNGrUiKeeekqjV0pIaGgoAIcOHSryeH776Y6XVfq0SLH4448/+Omnn/Dx8aFPnz5Oxyk3/vzzTzZu3Oj+fXh4OE899RQNGjRwMJX3W7hwIdu3b6d///5UrFjR6TjlUrNmzejcuTNNmjQhLCyMpKQkVq9ezbx585g9ezbBwcHceuutTsf0Si6XC4Cff/4ZX19f+vXr516RceHChURHR/Pmm29Ss2ZN9xB3KXlHjhxh48aNmKZJhw4dnI5TLjRr1ozRo0fz2muvsWPHDnbs2AFAUFAQLVu2JCwszOGE3qt58+asWLGClStX0qdPn0IF8LZt29zz7DMyMpyKeEH0I3W5aHv37uXNN9/Etm369u1LVFSU05HKjVGjRjF79mw+/vhjxowZQ82aNRk9evQpvQhSfJKSkvj8889p3rw5nTp1cjpOudWnTx+uv/56qlWrhr+/PzVr1uSuu+5iyJAhAMyePZusrCyHU3ony7KAvFXpHnjgATp37kxoaCiRkZH84x//oH379uTk5PDf//7X4aTly4oVK7Asi8suu0xDSUvJihUrGDFiBBEREYwbN44ZM2YwdepUrr32WubNm8fLL7+sxdBKSIcOHYiIiCApKYlXX32VPXv2kJ6ezvr163n99dfd874Nw3A46flRYSYXJTk5mXHjxuFyuejRo4d+Qu2QkJAQmjVrxvDhw2nQoAFffPGFlqsuIR988AE5OTk88sgjTkeRIrRq1YqGDRty/PjxU4bYSfHI3xfIMIwi99LKXyHtTBuAS/HLH8boSfNpPNn+/fuZPn06oaGhDBs2jEaNGhEYGEiNGjV47LHHuPLKK9m2bRtLly51OqpXCgwMZNiwYURERLB+/XoGDRrEAw88wLhx4zAMg+7duwN53488iYYyygVLTU1l7NixJCUl0alTJ/r27et0pHLP19eXa665hp07d/L7779ryeoS8McffxASEsIHH3xQqD07OxvI61EbPXo0AMOGDSty82MpWdWrV2fHjh0cOXLE6SheqWrVqkDeJsdFzSfOP3706NFSzVWe7d27l127dhEYGEjbtm2djlMurFy5ktzcXFq1alXkv/NXX301v//+O5s2beKmm25yIKH3q1u3Lm+88Qa//PILO3bswLIs6tWrR4cOHZg7dy6Axy2Co8JMLkh6ejrjx48nISGBq666in79+nlcd7G3yp/zlJqa6nAS7+VyuU7bG5CVleU+lpubW5qx5IT8OVAqiktG/fr1gbz7bNv2Kf/2p6WlAbr/pennn38G4KqrriIgIMDhNOVDSkoKAMHBwUUez2/P//sgJcPf35+OHTue0nufP//e01bFVGEm5y07O5tXX32VHTt20KpVK5599lmtAFiG5BcF1apVcziJd5o9e3aR7YmJiQwYMICaNWvyxhtvlG4ocUtNTWXLli1AQQEhxatu3bpERkaSmJhIbGwsjRs3LnR806ZNAFqEqJTYts3KlSsBDWMsTfnz+PIX/Phf+dMJ8nuQpfRs3ryZXbt2UadOHZo2bep0nPOib9NyXizLYurUqWzatIlmzZoxePBgLQVbyrZs2cKqVatO6Y3Jycnhu+++4+eff8bf37/Qnioi3mTbtm389ddf2LZdqD0xMZFJkyaRmZlJmzZtCA8Pdyih9+vZsycAH3/8caHe+Z07dxIdHQ3AzTff7Ei28mbLli0cOnSIsLAwLr30UqfjlBtt2rQB8u7/okWLCh3btm0b8+fPB6B9+/alnq28iIuLO+W70M6dO5k6dSqGYfDggw86lOzC6Ru1nJeFCxeydu1aIG/I3P/Os8nXt29f9x4TUrwOHjzIW2+9RcWKFWnQoAEVK1bk2LFj7N69m8OHD+Pn50f//v21ya54rX379vHWW28RFhZGjRo1qFy5MsnJyezcuZPs7Gzq1KnD448/7nRMr3bjjTeyceNGVq9ezbPPPkvjxo3JzMwkJiaGnJwcbrzxRn0hLSUn712m0Sulp0GDBtx22218++23fPDBB3z//ffUqlWLw4cPs23bNmzb5qabbuKyyy5zOqrX+uSTT9i7dy9RUVFUrFiRQ4cOERsbi2maPProox75gwoVZnJeTh4rnV+gFeWee+5RYVZCmjdvzp133snmzZvZvXs3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0qBBA2bNmlVKqU/P19eXF154gW+//ZYVK1aQmJhIcHAwDRs2pHv37rRu3fq0r73uuuu49NJL+f777/nzzz85cOAALpeLwMBAatWqRdOmTWnbtm2JDhkLDg7mhRdeYOnSpSxfvpy4uDgyMjKoXLkyjRs3pmvXrrRo0aLE3r958+YMGzaM6Ohodu3axZEjR4qcb2aaJv/85z/p2LEjixcvZvPmzSQnJ3P8+HFCQkKoUaMGl112GW3btiUqKqrE8l6ohg0b8txzz7Fp0ya2b9/O4cOHSU1Nxc/Pjzp16nDZZZdx6623nnXrgqJERUXRqFEjtm/fztq1a+nUqVPx/wHI264gvzC76aabSuQ9RMRzGfaZZguLiIiIlAPLli1j+vTptGjRghdffNFj30NEPJfmmImIiEi5d91111G7dm13j1xxsyyLb775Bjh1zqSICKgwExEREcE0Te6//34Avvzyy2K//urVq9mzZw/t27encePGxX59EfF8mmMmIiIiArRu3Zp//vOfuFwuMjIyCAwMLLZr5+TkcPfdd3PDDTcU2zVFxLtojpmIiIiIiIjDNJRRRERERETEYSrMREREREREHKbCTERERERExGEqzERERERERBymwkxERERERMRhKsxEREREREQcpsJMRERERETEYSrMREREREREHKbCTERERERExGEqzERERERERBymwkxERERERMRhKsxEREREREQcpsJMRERERETEYSrMREREREREHPb/qj7Rz4UhnDoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "from matplotlib import pyplot as plt\n", "\n", "plt.style.use('ggplot')\n", "plt.rcParams['figure.dpi'] = 150 \n", " \n", "plt.semilogy(range(2, 10), err_t)\n", "plt.semilogy(range(2, 10), err_a)\n", "\n", "plt.xlabel(\"Number of terms (n)\")\n", "plt.ylabel(\"Error\")\n", "plt.legend([r\"$\\epsilon_t$\", \"$\\epsilon_a$\"])" ] }, { "cell_type": "markdown", "id": "dd0d1b8a", "metadata": {}, "source": [ "#### DIY #1\n", "$\\cos(x)$ 과 $\\sin(x)$ 함수는 Taylor expansion에 의해 다음과 같이 표현할 수 있다.\n", "\n", "$$\n", "\\begin{align}\n", "\\cos x &= 1 - \\frac{x^2}{2!} + \\frac{x^4}{4!} - \\frac{x^6}{6!} + ... \\\\\n", "\\sin x &= x - \\frac{x^3}{3!} + \\frac{x^5}{5!} - \\frac{x^7}{7!} + ...\n", "\\end{align}\n", "$$\n", "\n", "여기서 $x$의 단위는 radian이다.\n", "\n", "$x$가 5도 각도일 때 근사항의 갯수에 따른 절대오차, 참 상대오차, 근사 상대 오차를 구하고 이를 그래프로 표현하시오.\n", "\n", "Tip) `np.deg2rad`, `np.rad2deg` 함수 참고할 것" ] }, { "cell_type": "markdown", "id": "32c6df91", "metadata": {}, "source": [ "## Round-off Error\n", "### 컴퓨터에서 수의 표현\n", "컴퓨터는 여러개의 스위치(?, bit)를 이용해서 2진법으로 숫자를 표현한다. \n", "\n", ":::{figure-md} Binary number\n", "\"number-fig\"\n", "\n", "2진법 (From wikimedia.org)\n", ":::\n", "\n", "크게 정수 (Integer) 와 부동 소숫점 (floating point) 로 표현한다.\n", "\n", "### 정수\n", "\n", "16bit 컴퓨터에서 10진법으로 표현할 수 있는 정수의 범위를 생각해보자.\n", "\n", "가장 큰 수\n", "\n", "$$\n", "1\\times 2^{14} + 1\\times 2^{14} + ... + 1\\times 2^1 + 1 = 2^{15} -1 = 32,767\n", "$$\n", "\n", "즉 (-32,767, 32767) 까지 수를 표현할 수 있다.\n", "\n", "\n", "### Fixed Point vs Floating Point\n", "Fixed Point는 Decimcal notation 처럼 정수부와 소수부로 구분해서 표현하는 방식이다.\n", "\n", "예를 들어 16bit 컴퓨터에서 1개의 bit는 부호, 7개는 정수부, 8개는 소수부로 표현하는 방식이다. 수의 표현에 많은 한계가 있다.\n", "\n", "Floating point (부동소숫점)은 Scientific notation과 같이 부호, 지수부 (exponent), 가수부 (mantissa or fraction) 로 구분한다. \n", "\n", "$$\n", "m \\times b^e\n", "$$\n", "\n", "정규화를 위해 $1/b \\leq m < 1$ 로 제한된다.\n", "\n", "IEEE754 규격을 가장 널리 사용하는 표준이다.\n", "\n", ":::{figure-md} floating\n", "\"ieee754-fig\"\n", "\n", "Floating Point (From Wikipedia)\n", ":::" ] }, { "cell_type": "markdown", "id": "df8f37f5", "metadata": {}, "source": [ "#### 7bit floating point\n", "다음과 같이 표현한다.\n", "- 첫번째 bit : 부호\n", "- 2~4 번째 bit : 지수의 부호 (1 bit), 지수의 크기 (2bit)\n", "- 5~7 번재 bit : 가수 (3bit)\n", "\n", "가장 작은 양수: $0111100_{(2)} = +2^{-(1\\times2 + 1)}\\times(1\\times2^{-1} + 0\\times2^{-2} + 0\\times2^{-3}) = +0.5\\times2^{-3}=0.0625$\n", "\n", "그 다음으로 표현 가능한 수는 아래와 같다.\n", "\n", "$$\n", "\\begin{align}\n", "0111101_{(2)} &= +2^{-(1\\times2 + 1)}\\times(1\\times2^{-1} + 0\\times2^{-2} + 1\\times2^{-3}) = 0.078125 \\\\\n", "0111110_{(2)} &= +2^{-(1\\times2 + 1)}\\times(1\\times2^{-1} + 1\\times2^{-2} + 0\\times2^{-3}) = 0.093750 \\\\\n", "0111111_{(2)} &= +2^{-(1\\times2 + 1)}\\times(1\\times2^{-1} + 1\\times2^{-2} + 1\\times2^{-3}) = 0.109375\n", "\\end{align}\n", "$$\n", "\n", "즉 $0.015625(=2^{-6})$ 씩 증가시킬 수 있다. \n", "\n", "그 다음 큰 수는 지수를 증가시켜야 한다.\n", "\n", "$$\n", "0110100_{(2)} = +2^{-(1\\times2 + 0)}\\times(1\\times2^{-1} + 0\\times2^{-2} + 0\\times2^{-3}) = 0.12500\n", "$$\n", "\n", "그 다음 큰 수는 아래와 같다.\n", "\n", "$$\n", "\\begin{align}\n", "0110101_{(2)} &= +2^{-(1\\times2 + 0)}\\times(1\\times2^{-1} + 0\\times2^{-2} + 1\\times2^{-3}) = 0.156250 \\\\\n", "0110110_{(2)} &= +2^{-(1\\times2 + 0)}\\times(1\\times2^{-1} + 1\\times2^{-2} + 0\\times2^{-3}) = 0.187500 \\\\\n", "0110111_{(2)} &= +2^{-(1\\times2 + 0)}\\times(1\\times2^{-1} + 1\\times2^{-2} + 1\\times2^{-3}) = 0.218750\n", "\\end{align}\n", "$$\n", "\n", "즉 $0.03215(=2^{-5})$ 씩 증가시킬 수 있다.\n", "\n", "가장 큰 수는 다음과 같다.\n", "\n", "$$\n", "0011111_{(2)} = +2^{+(1\\times2 + 1)}\\times(1\\times2^{-1} + 1\\times2^{-2} + \\times2^{-3}) = 7\n", "$$" ] }, { "cell_type": "markdown", "id": "1a09c155", "metadata": {}, "source": [ "#### Underflow, Overflow, Machine epsilon\n", "위 예제와 같이 floating point는 넓은 범위의 숫자를 표현할 수 있으나 모든 숫자를 표현할 수 없다.\n", "\n", ":::{figure-md} floating_dist\n", "\n", "\n", "Distriution of Floating Point (From Wikipedia)\n", ":::\n", "\n", "다음 3가지 특징이 있다.\n", "\n", "1. 표현할 수 있는 수의 한계가 있음\n", "- Overflow: 허용된 범위를 벗어난 큰 수 표현하지 못함\n", "- Underflow: 매우 작은 숫자를 표현하지 못함\n", "\n", "2. 주어진 범위 안에넛 표현할 수 있는 수자의 개수는 유한함\n", "- 근사값으로 표현 (Quantizing error, round-off error)\n", "- Machine epsilon\n", "\n", "3. 수 사이의 간격 $\\Delta x$는 수의 크가기 증가함에 따라 커짐" ] }, { "cell_type": "markdown", "id": "3769a635", "metadata": {}, "source": [ "#### 단정밀도, 배정밀도\n", "일반적으로 컴퓨터의 기본 단위 (word)는 32비트로 한다. 이를 기준으로 해서 다음과 같은 정밀도를 생각한다.\n", "\n", "\n", "| 정밀도 | 크기 |\n", "|---------|--------|\n", "| 단정밀도 | 32bit |\n", "| 배정밀도 | 64bit |\n", "| 반정밀도 | 16bit |\n", "\n", "FP32, FP64, FP16 등으로 표현하기도 한다. 현대 수치해석에서 기본 단위는 배정밀도이다. \n", "\n", "Numpy 에서는 `np.float32`, `np.float64`, `np.float16` 등으로 표현한다.\n", "\n", "`np.finfo` 이용하면 여러 특징을 살펴볼 수 있다." ] }, { "cell_type": "code", "execution_count": 17, "id": "40420e00", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "finfo(resolution=1e-15, min=-1.7976931348623157e+308, max=1.7976931348623157e+308, dtype=float64)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.finfo(1.0)" ] }, { "cell_type": "markdown", "id": "05c7a705", "metadata": {}, "source": [ "#### 연산의 오류\n", "연산에서 매우 작은 수 또는 매우 큰 수는 표현할 수 없어서 오류가 발생한다" ] }, { "cell_type": "code", "execution_count": 18, "id": "b10dba73", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Machine parameters for float16\n", "---------------------------------------------------------------\n", "precision = 3 resolution = 1.00040e-03\n", "machep = -10 eps = 9.76562e-04\n", "negep = -11 epsneg = 4.88281e-04\n", "minexp = -14 tiny = 6.10352e-05\n", "maxexp = 16 max = 6.55040e+04\n", "nexp = 5 min = -max\n", "smallest_normal = 6.10352e-05 smallest_subnormal = 5.96046e-08\n", "---------------------------------------------------------------\n", "\n" ] } ], "source": [ "# FP16 숫자 특징\n", "print(np.finfo(np.float16))" ] }, { "cell_type": "code", "execution_count": 20, "id": "e5c81832", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float16(1.0)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# FP16에서 매우 작은 수 더하기\n", "a = np.float16(1.0)\n", "\n", "np.float16(a + 9e-5)" ] }, { "cell_type": "code", "execution_count": 22, "id": "5f8426c7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float16(0.0)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# FP16에서 비슷한 크기의 숫자 빼기 (밸샘의 무효화)\n", "a = np.float16(0.5)\n", "b = np.float16(0.4999)\n", "\n", "np.float16(b -a)" ] }, { "cell_type": "code", "execution_count": 23, "id": "13d46365", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_337/3507621214.py:5: RuntimeWarning: overflow encountered in scalar add\n", " np.float16(a + b)\n" ] }, { "data": { "text/plain": [ "np.float16(inf)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Overflow\n", "a = np.float16(4e4)\n", "b = np.float16(3e4)\n", "\n", "np.float16(a + b)" ] }, { "cell_type": "code", "execution_count": 24, "id": "c5d4d60a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float16(0.0)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Underflow\n", "a = np.float16(1e-7)\n", "\n", "np.float16(a/10)" ] }, { "cell_type": "markdown", "id": "12ba3ba1", "metadata": {}, "source": [ "#### DIY #2\n", "단정밀도, 배정밀도에 대해서 뺄샘의 무효화, Overflow, Underflow 상황을 만들어 보시오." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.5" } }, "nbformat": 4, "nbformat_minor": 5 }